#!/bin/bash

#
# Copyright (C) 2024 Thomas Weißschuh <thomas.weissschuh@linutronix.de>
#
# This file is part of util-linux.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#

TS_TOPDIR="${0%/*}/../.."
TS_DESC="output formatting"

. "$TS_TOPDIR"/functions.sh

ts_init "$*"

ts_check_test_command "$TS_CMD_BLKID"
ts_check_prog "xz"

outimg="$TS_OUTDIR"/blkid-output.img
xz -dc "$TS_SELF"/blkid-output.img.xz > $outimg

_blkid() {
	"$TS_CMD_BLKID" --cache-file "$TS_OUTDIR"/blkid.cache "$@" "$outimg" | sed -e "s#$TS_OUTDIR/##"
}

for format in value udev export full device json; do
	ts_init_subtest "$format-probe"
	_blkid --probe --output "$format" >> "$TS_OUTPUT"
	ts_finalize_subtest

	ts_init_subtest "$format-cache"
	_blkid --output "$format" >> "$TS_OUTPUT"
	ts_finalize_subtest
done

ts_finalize
